﻿Imports Entities
Imports Business
Imports DataAccess
Public Class MantencionChoferes
    Private _Chofer As New CHOFERES
    Private _ChoferesList As New List(Of choferes)

    Private Sub MantencionChoferes_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Limpiar()
        xRut.Clear()
        Titulo()
        xFechaNacimiento.Value = CDate("01-01-1980")
    End Sub

    
#Region "Métodos Privados"
    Private Sub Titulo()
        _ChoferesList = ChoferBL.List
        gGrillaMantencion.DataSource = _ChoferesList

        gGrillaMantencion.Font = New Drawing.Font("Tahoma", Util.GridFont, FontStyle.Regular, GraphicsUnit.Point)

        If Not IsNothing(_ChoferesList) Then
            With gGrillaMantencion
                .Columns("ACTIVO").Visible = False
                .Columns("RUT").Visible = False
                .Columns("FechaNacimiento").Visible = False
                .Columns("afp").Visible = False

                .Columns("Nombres").HeaderText = "Nombres"
                .Columns("RUT").HeaderText = "Rut"
                .Columns("FONO").HeaderText = "Fono"
                .Columns("ApellidoPaterno").HeaderText = "Apellido paterno"
                .Columns("ApellidoMaterno").HeaderText = "Apellido materno"
                .Columns("FechaNacimiento").HeaderText = "Fecha Nacimiento"
                .Columns("Direccion").HeaderText = "Dirección"
               
            End With
            
        End If
    End Sub

    Private Sub Limpiar()

        xNombres.Clear()
        xApePaterno.Text = ""
        xApeMaterno.Text = ""

        xDireccion.Text = ""
        xFono.Text = ""
        xAfp.Text = ""

        bGuardar.Text = "Guardar"
        bEliminar.Enabled = False
    End Sub
    Private Sub cargarChofer()

        If IsNothing(_Chofer) Then
            Limpiar()
        Else
            With _Chofer
                xRut.Text = .RUT
                xNombres.Text = .NOMBRES
                xApePaterno.Text = .APELLIDOPATERNO
                xApeMaterno.Text = .APELLIDOMATERNO
                xFechaNacimiento.Text = .FECHANACIMIENTO
                xDireccion.Text = .DIRECCION
                xFono.Text = .FONO
                xAfp.Text = .AFP
            End With
            bGuardar.Text = "Modificar"
            bEliminar.Enabled = True
        End If
    End Sub
#End Region

#Region "Eventos Click"
    Private Sub bGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bGuardar.Click

        If xRut.Text <> "  .   .   -" Then
            If Not Util.ValidaRut(xRut.Text) Then
                Util.Mensaje("El Rut Ingresado es Incorrecto")
                xRut.Focus()
            End If
        End If
        If xNombres.Text = "" Then
            Util.Mensaje("Debe Ingresar un Nombre")
            xNombres.Focus()
        ElseIf xApePaterno.Text = "" Then
            Util.Mensaje("Debe Ingresar Apellido Paterno")
            xApePaterno.Focus()
        ElseIf xApeMaterno.Text = "" Then
            Util.Mensaje("Debe Ingresar Apellido Amterno")
            xApeMaterno.Focus()
            'ElseIf xFechaNacimiento.Text = False Then
            '    Util.Mensaje("Debe Ingresar la Fecha de Nacimiento")
            '    xFechaNacimiento.Focus()
        Else
            Dim chofer As New choferes
            With chofer
                If Not IsNothing(_Chofer) Then .RUT = _Chofer.RUT Else .RUT = xRut.Text
                .NOMBRES = xNombres.Text.ToUpper.Trim
                .APELLIDOPATERNO = xApePaterno.Text.ToUpper.Trim
                .APELLIDOMATERNO = xApeMaterno.Text.ToUpper.Trim
                .FECHANACIMIENTO = xFechaNacimiento.Value.ToShortDateString
                .DIRECCION = xDireccion.Text.ToUpper.Trim
                .FONO = xFono.Text.ToUpper.Trim
                .AFP = xAfp.Text.ToUpper.Trim
                .ACTIVO = True
            End With

            If ChoferBL.Save(chofer) Then
                Util.Mensaje("Chofer Guardado Correctamente")
                Titulo()
                Limpiar()
                xRut.Clear()
            Else
                Util.Mensaje("Error al Guardar Chofer")
            End If
        End If

    End Sub

    Private Sub bCancelar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancelar.Click
        Me.Dispose()
    End Sub

    Private Sub gGrillaMantencion_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles gGrillaMantencion.DoubleClick
        If gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow) >= 0 Then
            _Chofer = ChoferBL.SearchById(gGrillaMantencion.Item("RUT", gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow)).Value)
            cargarChofer()
        End If
    End Sub

    Private Sub bLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLimpiar.Click
        xRut.Clear()
        Limpiar()
    End Sub

#End Region

    
    Private Sub tRut_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles xRut.Leave
        If xRut.Text <> "  .   .   -" Then
            If Util.ValidaRut(xRut.Text) Then
                _Chofer = ChoferBL.SearchById(xRut.Text)
                cargarChofer()
            Else
                Util.Mensaje("Ingrese Un Rut Correcto")
                xRut.Focus()
            End If
        End If
    End Sub

    Private Sub bEliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bEliminar.Click
        If Not IsNothing(_Chofer) Then
            If ChoferBL.Delete(_Chofer.RUT) Then
                Util.Mensaje("Chofer Eliminado Correctamente")
                Limpiar()
                Titulo()
                xRut.Focus()
                xRut.Clear()
            Else
                Util.MensajeError("Error al Eliminar Chofer")
                Limpiar()
                Titulo()
                xRut.Focus()
            End If
        End If
    End Sub

    Private Sub xRut_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xRut.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xNombres_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xNombres.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xApePaterno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xApePaterno.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xApeMaterno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xApeMaterno.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xFechaNacimiento_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xFechaNacimiento.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xDireccion_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xDireccion.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xFono_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xFono.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xAfp_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xAfp.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub
End Class